package com.yunxiao.cloud.job.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.yunxiao.cloud.job.entity.ScheduleJob;

import java.util.List;

/**
 * <p>
 * 定时任务 服务类
 * </p>
 *
 * @author yunxiao
 * @since 2020-01-09
 */
public interface ScheduleJobService extends IService<ScheduleJob> {

    /**
     * 根据jobId查询
     *
     * @param jobId
     * @return
     */
    ScheduleJob selectByJobId(String jobId);

    /**
     * 列表查询
     *
     * @param scheduleJob
     * @return
     */
    List<ScheduleJob> selectByCondition(ScheduleJob scheduleJob);

    /**
     * 保存
     *
     * @param record
     * @return
     */
    int insert(ScheduleJob record);

    /**
     * 更新
     *
     * @param record
     * @return
     */
    int update(ScheduleJob record);

    /**
     * 停止
     *
     * @param jobId
     */
    void pauseJob(String jobId);

    /**
     * 恢复
     *
     * @param jobId
     */
    void resumeJob(String jobId);

    /**
     * 执行
     *
     * @param jobId
     */
    void run(String jobId);

    /**
     * 删除
     *
     * @param jobId
     */
    void delete(String jobId);
}
